import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: xiaotutu
 * Date: 2023-08-09
 * Time: 10:28
 */
public class Test {
    public static void main(String[] args) {
        //获取一个数二进制序列中所有的偶数位和奇数位，分别输出二进制序列
        int n = 10;
        System.out.println("奇数位:");
        for (int i = 0; i < 31; i+=2) {
            System.out.print(((n>>>i)&1)+" ");
        }
        System.out.println();
        System.out.println("偶数位:");
        for (int i = 1; i < 32; i+=2) {
            System.out.print(((n>>>i)&1)+" ");
        }
    }
    public static void main7(String[] args) {
        int n = -1;
        int count = 0;
        while(n != 0) {
            n &= (n-1);
            count++;
        }
        System.out.println(count);
    }
    public static void main6(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int count = 0;
        while(n != 0) {
            if((n&1) != 0) {
                count++;
            }
            n >>>= 1;
        }
        System.out.println(count);
    }
    public static void main5(String[] args) {
        //写一个函数返回参数二进制中 1 的个数
        // 比如： 15       0000 1111       4 个 1
        int n = 15;
        int count = 0;
        while(n != 0) {
            if((n&1) != 0) {
                count++;
            }
            n >>= 1;
        }
        System.out.println(count);
    }
    public static void main4(String[] args) {
        //编写代码模拟三次密码输入的场景。
        // 最多能输入三次密码，密码正确，提示“登录成功”,密码错误，
        // 可以重新输 入，最多输入三次。
        // 三次均错，则提示退出程序
        Scanner sc = new Scanner(System.in);
        int count = 3;
        while(count != 0) {
            System.out.println("请输入密码:");
            String passsword = sc.nextLine();
            if(passsword.equals("123")) {
                System.out.println("登录成功！");
                break;
            }else {
                count--;
            }
        }
        if(count == 0) {
            System.out.println("登录次数已用完！");
        }
    }
    public static void main3(String[] args) {
        //输出一个整数的每一位，如：123的每一位是3，2，1
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        int n = sc.nextInt();
        while(n != 0) {
            System.out.println(n%10);
            n /= 10;
        }
    }
    public static void main2(String[] args) {
        //编写程序数一下 1到 100 的所有整数中出现多少个数字9
        int count = 0;
        for (int i = 1; i <= 100; i++) {

            if(i % 10 ==9) {
                count++;
            }
            if(i / 10 == 9) {
                count++;
            }
        }
        System.out.println("count = " + count);
    }
    public static void main1(String[] args) {
        //求出0～999之间的所有“水仙花数”并输出。
        // (“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数本身，
        // 如：153＝1^3＋5^3＋3^3，则153是一个“水仙花数”。)
        /*Scanner sc = new Scanner(System.in);
        System.out.print("请输入:");
        int n = sc.nextInt();*/
        for (int i = 0; i < 1000; i++) {
            int tmp = i;
            int count = 0;
            while(tmp != 0) {
                count++;
                tmp /= 10;
            }
            tmp = i;
            int sum = 0;
            while(tmp != 0) {
                sum += Math.pow(tmp%10,count);
                tmp /= 10;

            }
            if(i == sum) {
                System.out.println(i);
            }
        }
    }
}
